Electronic shopping basket

ABSTRACT

A system which facilitates electronic shopping, which includes a graphical image component residing on a user interface; and a shopping basket component associated with the graphical image component. The shopping basket component provides drag and drop capabilities such that a user can drag and drop representations of identified items from a plurality of sources using a computer pointer into the graphical image and descriptions of the items will be retained by the shopping basket component. The system allows for a user to concurrently effect multiple transactions with disparate items respectively associated a plurality of sources.

TECHNICAL FIELD

The present invention relates to computer systems, and more particularlyto a system and method for facilitating electronic commerce via theInternet.

BACKGROUND OF THE INVENTION

In recent years, there has been an increasing trend of the use ofelectronic shopping basket applications for providing an Internet user amechanism in which to temporarily store goods and/or services prior topurchasing these goods and/or services electronically. Typically, theseshopping cart applications reside on a Web server of a merchant orshopping site and are limited to use only on that particular site. Auser can visit the merchant's web site and use the shopping cartapplication to purchase goods and/or services without having to enterthe user's personal information multiple times for each transaction. Theuser must propagate the shopping basket each time the user desires toadd a product or service to the shopping basket, for example, byclicking on a link describing the product and/or service. The link thenaccesses a database on the server where detailed information about theproduct and/or service is retrieved. The selected products can then bepurchased, at that site only, concurrently or individually as desired.

Another recent application that has evolved is the gift list or wishlist application. The gift list or wish list application allows a userto add product and/or services that the user desires to a list. The giftlist or wish list is then available to others for viewing, so thatothers may purchase items on the list as a gift for the user. Againthese gift or wish applications reside on a Web server of a merchant orshopping site and are limited to use only on the that particular site.Additionally, in both the shopping basket application and the wish listapplications, only the user may access and modify products and/orservices residing within the shopping basket and wish list.

Accordingly, there is an unmet need in the art for a system and methodthat mitigates the above stated deficiencies with traditional shoppingcarts and wish list applications.

SUMMARY OF THE INVENTION

The present invention provides for a system which facilitates electronicshopping. One aspect of the invention relates to a universal electronicshopping basket which may be associated with a desktop applicationand/or a browser application. A user can select items of interest fromvarious locations (e.g., web sites) and place them in the universalshopping cart. The user may browse registered sites on the Internet anddrag and drop products using a computer pointer (e.g., a mouse) into theuser's electronic shopping basket. The drag and drop capability isprovided by the programmability of the electronic shopping basket. Acommon schema can be used for describing items (e.g., products andservices) to be purchased from registered sites. In one aspect of theinvention the common schema is provided in the eXtensible MarkupLanguage (XML). After all items of interest have been gathered andplaced in the shopping cart, the user can concurrently order all items(e.g., employing an authentication service for secure communications).Components representative of the items will include data correspondingto source, price, date, item description and other data needed to closea transaction for purchase of the item(s). One particular advantage ofthis aspect of the invention is that the user only needs to make asingle transaction to close purchasing deals with respect to a pluralityof items associated with different sources.

Another aspect of the invention relates to an item list (e.g., a wishlist or gift list), which may be associated with a universal shoppingcart in accordance with the present invention. A user can add one ormore particular items of interest to the item list, and the list may beprogrammatically accessed or queried by potential sources of the items(e.g., retailers). The user may also include additional information suchas for example price the user is willing to pay for the item(s). If oneor more of the potential sources determines that a match exists betweenthe user's purchase requirements and the sources ability/desire tosatisfy the purchase request, the source(s) can inform the user withrespect thereto. In one aspect of the invention, the shopping basketsystem is programmable, such that any application program withpermission may access the item list and add items to the user's shoppingbasket list if a match exists between the added item and an item in theitem list. An application programs access to a user's shopping basketand/or item list may be based on one or more levels of trust.Alternatively and/or in combination, the shopping basket and/or the itemlist may be associated with a query/search system, which could searchfor and identify sources of the item(s) and determine if a match existsbetween the user and source. If a match exists, a menu can be providedto the user for adding the item to the user's shopping basket or itemlist.

In accordance with another aspect of the present invention, a filteringsystem may be employed in connection with the item list so as to limitthe number of potential sources of items and/or mitigate spam type ofresponses to an item list posting and/or query/search.

A universal shopping cart and/or item list in connection with thepresent invention may be resident on a personal computing system, thirdparty computing system, network, and any other suitable medium forcarrying out the functionality described herein.

To the accomplishment of the foregoing and related ends, the inventionthen, comprises the features hereinafter fully described andparticularly pointed out in the claims. The following description andthe annexed drawings set forth in detail certain illustrativeembodiments of the invention. These embodiments are indicative, however,of but a few of the various ways in which the principles of theinvention may be employed and the present invention is intended toinclude all such embodiments and their equivalents. Other objects,advantages and novel features of the invention will become apparent fromthe following detailed description of the invention when considered inconjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a shopping basket system inaccordance with one aspect of the present invention.

FIG. 2 a illustrates a web browser employing the shopping basket systemin accordance with one aspect of the present invention.

FIG. 2 b illustrates a desktop employing the shopping basket system inaccordance with one aspect of the present invention.

FIG. 3 a illustrates an example of an input screen for adding items to ashopping basket list in accordance with one aspect of the presentinvention.

FIG. 3 b illustrates an example of an input screen for adding items to ashopping basket list in accordance with one aspect of the presentinvention.

FIG. 3 c illustrates an example of an input screen for adding items to awish list in accordance with one aspect of the present invention.

FIG. 4 illustrates an example of a search results screen in accordancewith one aspect of the present invention.

FIG. 5 illustrates a block diagram of the interaction of components toprovide search results in accordance with one aspect of the presentinvention.

FIG. 6 illustrates the relation of representations of items todescription of items employing a common schema at a merchant site inaccordance with one aspect of the present invention.

FIG. 7 illustrates a block diagram of the interaction of components toprovide concurrent purchasing in accordance with one aspect of thepresent invention.

FIG. 8 illustrates a block diagram of the interaction of components toprovide programmability of the shopping basket system in accordance withone aspect of the present invention.

FIG. 9 illustrates a block diagram of a computer system in accordancewith an environment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is now described with reference to the drawings,wherein like reference numerals are used to refer to like elementsthroughout. In the following description, for purposes of explanation,numerous specific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be evident, however, toone skilled in the art that the present invention may be practicedwithout these specific details. In other instances, well-knownstructures and devices are shown in block diagram form in order tofacilitate description of the present invention.

The present invention is described with reference to a shopping basketsystem residing on a client computer and the methodologies employed toprovide the functionality of the shopping basket system in accordancewith the present invention. The shopping basket system includes ashopping basket component and a wish or gift list component. Thefunctionality of the shopping basket system may be invoked via agraphical image, such as an icon, on a web browser or a desktop of theclient computer. Alternatively, the shopping basket system may beinvoked employing a selectable menu option. The user may browseregistered sites on the Internet and drag and drop products into theuser's shopping basket. All products may then be purchased concurrentlyregardless of the site where the product was found. The drag and dropcapability is provided by the programmability of the shopping basket. Acommon schema can be employed for describing items (e.g., products andservices) to be purchased from registered sites. In one aspect of theinvention the common schema is provided in XML. The shopping basketsystem is provided with a search engine for searching for items on auser's wish or gift list over the Internet. The search results areprovided to the user, which can be added to the user's shopping basketlist. In one aspect of the invention, the shopping basket system isprogrammable, such that any application program with permission mayaccess a user's shopping basket system and add items to the user'sshopping basket based on items matching items found in a user's wishlist.

FIG. 1 illustrates a client computer 10 employing a shopping basketsystem 12 of the present invention. The client computer 10 is linked toa plurality of registered merchants 24 over the Internet 22 via acommunication link. The shopping basket system 12 includes a userinterface component 14 coupled to a shopping basket component 16, anordering component 20 and a wish list component 18. The user interfacecomponent may be a web browser or a desktop of a personal computer. Theshopping basket component 16 retains items selected by a user from asource such as a website residing on the merchant servers 24. The wishlist component 18 retains items that the user would like to have for agift or items that the user would like to purchase but cannot locate.The shopping basket component 16 is also coupled to the orderingcomponent 20 and the wish list component 18. The ordering component 20allows for purchasing multiple items concurrently regardless of theserver or site from which the item is described. Additionally, theshopping basket component 16 and the wish list component 18 are exposedto the merchant servers 24, so that any of the merchant servers withpermission may access the wish list component 18 and/or the shoppingbasket 16 for programmability of the shopping basket system 12.Programmability of the shopping basket 12 is defined as the ability toaccess items on the user's wish list and the ability to provide itemsmeeting the criteria defined by the user's wish list into the user'sshopping basket. Programmability of the shopping basket 12 also providesfor drag and drop capabilities of items into a user's shopping basket,which then retains information on the item or items.

The shopping basket system 12 of the present invention may be employedon a standard web browser on a client computer. FIG. 2 a illustrates aweb browser 30 employing a shopping cart application of the presentinvention. The web browser 30 has a menu tool bar 32, a standard buttonstool bar 34 and an address tool bar 36. The web browser 30 also includesa window or pane 38 for viewing contents of web pages of various websites. It is to be appreciated that the tool bars illustrated in FIG. 2a are used to provide an example of possible tool bars enabled in thebrowser 30 and various other toolbars may be enabled according to theparticular browser being employed. The menu tool bar 32 includes avariety of pull down selection means for providing functionality to thebrowser 30. The standard button tool bar 34 includes a variety ofdifferent graphical images or icons for providing different functions tobe utilized by a user of the browser 30, for example, by using a pointersuch as a mouse.

A shopping basket icon 40 is provided as one of the images illustratedin the standard buttons tool bar 34. The present invention allows for auser to select items of interest from various locations (e.g., websites) and drag and drop items of interest into the shopping basket icon40, which automatically adds the detail of the item to a user's shoppingbasket list. The details of the items can include, for example, source,price, date, item description, and other data necessary to close atransaction for purchase of the item(s). The user may view the list inthe user's shopping basket by double clicking on the shopping basketicon 40, for example, by employing a computer pointer or by employing asequence of keystrokes on a keyboard (e.g., a control key or functionkey). Alternatively, the user may employ the pull down list labeled“SHOPPING” on the pull down selection of the menu tool bar 32. The usercan be prompted with a selection window (not shown), so that the usermay select between adding the item to a shopping basket list or addingthe item to a gift or wish list for others to view. FIG. 2 b illustratesanother implementation where a graphical image or icon 48 of a shoppingbasket resides on a computer desktop 46. Items of interest may bedragged from a user's browser and dropped into the shopping basket icon48.

FIG. 3 a illustrates an example of a possible user interface 50 that maybe provided upon invocation of the shopping basket icon 40. The userinterface 50 includes a shopping basket list 52 and a wish or gift list66. The shopping basket list 52 includes a number of componentsdescribing each item such as source, item description, price, links andlinks to details about the item. The wish list 66 also includes a numberof components describing items that a user would like to receive as agift or would like to locate for purchasing. A number of buttons areprovided for invoking functionality to the user interface 50 and theshopping basket system 12. For example, a user may wish to manually adda product to the shopping basket list 52 by clicking on an “ADD TOBASKET” button 54. An “ADD ITEM TO SHOPPING BASKET” input screen 80 isthen provided as illustrated in FIG. 3 b. A user may then add an item tothe shopping basket list 52 by inputting information in the fields suchas source name, description, price, links and links to details and thenselecting the “ADD” button 84. The user may cancel the addition of anitem to the shopping basket list 52 by selecting the “CANCEL” button 92.

The user may add items from the wish list 66 to the shopping basket list52 by selecting the “ADD FROM WISHLIST” button 86, which will provide auser with a selection screen (not shown). The user may also add itemsfrom the wish list 66 to the shopping basket list 52 by dragging anddropping items from the wish list 66 to the shopping basket list 52.Furthermore, items may be edited, removed or bought by selecting theitem via a pointer, such as a computer mouse, and selecting the buttons“EDIT ITEM” 58, “REMOVE ITEM(S)” 60 and “BUY ITEM(S)” 62, respectively.Additionally, all items may be remove from the list or all items may beconcurrently purchased on the list by selecting the button “SELECT ALL”56 and the respective button, “REMOVE ITEM(S)” 60 or “BUY ITEM(S)” 62.

A number of buttons are also provided for invoking functionality withrespect to the wish list 66. For example, a user may wish to manuallyadd an item to the wish list 66 by clicking on an “ADD TO WISHLIST”button 68. An “ADD ITEM TO WISHLIST” input screen 90 is then provided asillustrated in FIG. 3 c. A user may then add an item to the wish list 66by inputting information in the fields such as source name, descriptionand the price the user is willing to pay then selecting the “ADD” button94. The user may cancel the addition of an item to the wish list 66 byselecting the “CANCEL button 92. Furthermore, items may be edited orremoved by selecting the item via a pointer, such as a computer mouse,and selecting the buttons “EDIT ITEM” 72 and “REMOVE ITEM(S)” 74,respectively. Additionally, all items may be removed from the list byselecting the button “SELECT ALL” 70 and the button “REMOVE ITEM(S)” 74.

In one aspect of the invention an item on the wish list may be selectedand a search performed over the Internet (e.g., at registered merchantsites) for the item by selecting the item from the wish list 66 andselecting the button “SEARCH FOR ITEM” 76. In the present example ofFIG. 3 a, the user has selected to search for a camera made by XYZ thatdoes not exceed the price of $149. FIG. 4 illustrates a results screen100 produced from the search for a camera made by XYZ that does notexceed the price of $149. As can be seen from the results screen 100,three results have been returned. One result is from the web site of themanufacturer XYZ, another is from a web site of a distributor DEFselling XYZ cameras and another is from a web site selling a used XYZcamera. The user can then select one or more of the items and add it tothe shopping basket list 52 by selecting the “ADD TO BASKET” button 102or exit the results screen 100 by selecting the “CANCEL” button 104.FIG. 5 illustrates the interaction of the components employed to providethe search results 100. The shopping basket system 12 employs a searchengine component 110, which transmits communications to one or moresources 120 on the Internet to find the desired item. The search enginecomponent 110 then aggregates the results and sends them back to theshopping basket system 12 for display. A filtering system may beprovided as part of the search engine component 110 to limit the numberof potential sources of items and/or mitigate spam type of responses tothe search.

FIG. 6 illustrates the methodology employed to provide drag and dropcapabilities to the shopping basket system 12. Each merchant provides agraphical image or icon linked to a description file or a link that islinked to a description file. Each description file conforms to a commonschema. In the present example, a merchant site is displayed in thewindow or pane 20 of the browser 10. The merchant site illustratesproducts by displaying images of the products on the web site. Theimages displayed in the present example include a telephone/recorderimage 140, a CD player image 150 and a DVD player image 160. Each imageis linked to a description file conforming to an XML schema. Thetelephone/recorder is linked to a first description file 142, the CDplayer 150 is linked to a second description file 152 and the DVD player160 is linked to a third description file 162. Each of the descriptionfiles has an element associated with the corresponding item and a listof attributes associated with that item (e.g., source, description,price, links and links to details). The common schema allows for dragand drop capabilities for the shopping basket system 12. It is to beappreciated that the present example is provided as a simple example ofa common schema for the description files and one skilled in the art ofcomputer programming would understand the additional complexities foradding additional attributes and/or functionality to the drag and dropcapabilities of the present invention employing the common schema.

After all items of interest have been gathered and placed in theshopping basket list 52, the user can concurrently order all items(e.g., employing an authentication service for secure communications).FIG. 7 illustrates the interaction of the components employed inconcurrent ordering of items utilizing the shopping basket system of thepresent invention. The ordering component in the shopping basket system12 transmits a purchasing order to one or more sources 120 over theInternet. The shopping basket system 12 employs an authenticationservice 170, which transmits communications to one or more sources 120on the Internet. The authentication service 170 interacts with thesources 120 so that the necessary information to complete thetransaction is provided to the sources 120. Therefore, the user does notneed to provide this information to each source separately.

In another aspect of the invention, the shopping basket system isprogrammable, such that any application program may access a user'sshopping basket system and add products and/or services to the user'sshopping basket list based on item's found in a user's wish list. Theapplication programs may be resident on a merchant's server computer oron the user's computer. The shopping basket system may be resident on aclient computer or a copy of the user's wish list and shopping basketlist may reside on another computer to ensure the integrity of theclient computer. Referring to FIG. 8, the shopping basket system 12 isprovided with a plurality of application program interfaces (APIs) 190that allows for substantially any application program 200 with theappropriate permission access to the shopping basket system 12. Forexample, a merchant may employ an application program to view the wishlist of the user to determine products that the user would like tolocate. The application program can then send a message to inform theuser of where to find the item. Alternatively, the application programmay place the item in the shopping list of the user, so that the usermay easily purchase the item without undue searching. The wish list mayalso be accessed by queries by potential sources of the items. Afiltering system 180 is provided so as to limit the number of potentialsources of items and/or mitigate spam type of responses to view and/orquery the wish list.

With reference to FIG. 9, an exemplary system for implementing theinvention includes a conventional personal or server computer 220,including a processing unit 221, a system memory 222, and a system bus223 that couples various system components including the system memoryto the processing unit 221. The processing unit 221 may be any ofvarious commercially available processors, including but not limited toIntel x86, Pentium® and compatible microprocessors from Intel andothers, including Cyrix, AMD and Nexgen; Alpha® from Digital; MIPS® fromMIPS Technology, NEC, IDT, Siemens, and others; and the PowerPC® fromIBM and Motorola. Dual microprocessors and other multi-processorarchitectures also can be used as the processing unit 221.

The system bus may be any of several types of bus structure including amemory bus or memory controller, a peripheral bus, and a local bus usingany of a variety of conventional bus architectures such as PCI, VESA,Microchannel, ISA and EISA, to name a few. The system memory includesread only memory (ROM) 224 and random access memory (RAM) 225. A basicinput/output system (BIOS), containing the basic routines that help totransfer information between elements within the computer 220, such asduring start-up, is stored in ROM 224.

The computer 220 further includes a hard disk drive 227, a magnetic diskdrive 228, e.g., to read from or write to a removable disk 229, and anoptical disk drive 230, e.g., for reading a CD-ROM disk 231 or to readfrom or write to other optical media. The hard disk drive 227, magneticdisk drive 228, and optical disk drive 230 are connected to the systembus 223 by a hard disk drive interface 232, a magnetic disk driveinterface 233, and an optical drive interface 234, respectively. Thedrives and their associated computer-readable media provide nonvolatilestorage of data, data structures, computer-executable instructions, etc.for the server computer 220. Although the description ofcomputer-readable media above refers to a hard disk, a removablemagnetic disk and a CD, it should be appreciated by those skilled in theart that other types of media which are readable by a computer, such asmagnetic cassettes, flash memory cards, digital video disks, Bernoullicartridges, and the like, may also be used in the exemplary operatingenvironment.

A number of program modules may be stored in the drives and RAM 225,including an operating system 235, one or more application programs 236,other program modules 237, and program data 238. The operating system235 in the illustrated computer is, for example, the Microsoft® Windows®NT, Microsoft® Transaction Server, Microsoft® Windows® 95, Microsoft®Windows® 98, Microsoft® Windows® 2000 or Microsoft® Windows® MEoperating system, although it is to be appreciated that the presentinvention may be implemented with other operating systems orcombinations of operating systems, such as UNIX, LINUX, etc.

A user may enter commands and information into the computer 220 througha keyboard 240 and pointing device, such as a mouse 242. Other inputdevices (not shown) may include a microphone, joystick, game pad,satellite dish, scanner, or the like. These and other input devices areoften connected to the processing unit 221 through a serial portinterface 246 that is coupled to the system bus, but may be connected byother interfaces, such as a parallel port, game port or a universalserial bus (USB). A monitor 247 or other type of display device is alsoconnected to the system bus 223 via an interface, such as a videoadapter 248. In addition to the monitor, computers typically includeother peripheral output devices (not shown), such as speakers andprinters.

The computer 220 may operate in a networked environment using logicalconnections to one or more remote computers, such as a remote server orclient computer 249. The remote computer 249 may be a workstation, aserver computer, a router, a peer device or other common network node,and typically includes many or all of the elements described relative tothe computer 220, although only a memory storage device 250 has beenillustrated in FIG. 9. The logical connections depicted in FIG. 9include a local area network (LAN) 251 and a wide area network (WAN)252. Such networking environments are commonplace in offices,enterprise-wide computer networks, intranets and the Internet.

When used in a LAN networking environment, the computer 220 is connectedto the local network 251 through a network interface or adapter 253.When used in a WAN networking environment, the server computer 220typically includes a modem 254, or is connected to a communicationsserver on the LAN, or has other means for establishing communicationsover the wide area network 252, such as the Internet. The modem 254,which may be internal or external, is connected to the system bus 223via the serial port interface 246. In a networked environment, programmodules depicted relative to the computer 220, or portions thereof, maybe stored in the remote memory storage device. It will be appreciatedthat the network connections shown are exemplary and other means ofestablishing a communications link between the computers may be used.

In accordance with practices of persons skilled in the art of computerprogramming, the present invention is described below with reference toacts and symbolic representations of operations that are performed bythe computer 220, unless indicated otherwise. Such acts and operationsare sometimes referred to as being computer-executed. It will beappreciated that the acts and symbolically represented operationsinclude the manipulation by the processing unit 221 of electricalsignals representing data bits which causes a resulting transformationor reduction of the electrical signal representation, and themaintenance of data bits at memory locations in the memory system(including the system memory 222, hard drive 227, floppy disks 229, andCD-ROM 231) to thereby reconfigure or otherwise alter the computersystem's operation, as well as other processing of signals. The memorylocations where data bits are maintained are physical locations thathave particular electrical, magnetic, or optical propertiescorresponding to the data bits.

The present invention has been illustrated with respect to a programmingmethodology and/or computer architecture and a particular example,however, it is to be appreciated that various programming methodologyand/or computer architecture suitable for carrying out the presentinvention may be employed and are intended to fall within the scope ofthe hereto appended claims.

The invention has been described with reference to the preferred aspectsof the invention. Obviously, modifications and alterations will occur toothers upon reading and understanding the foregoing detaileddescription. It is intended that the invention be construed as includingall such modifications alterations, and equivalents thereof.

1. A shopping basket system that facilitates electronic shopping,comprising: a shopping basket component that allows a user to selectitems from a plurality of different merchant servers and that allows theplurality of different merchant servers to access a wish list componenton the user's computer to place one or more items corresponding to thewish list component into the shopping basket component; and an orderingcomponent that allows concurrent purchasing of at least two selecteditems from at least two of the plurality of different merchant serversand that allows purchasing of items corresponding to the wish listcomponent placed into the shopping basket component by the plurality ofdifferent merchant servers, wherein the shopping basket component, theordering component and the wish list component are implemented bycomputer-executable instructions stored on computer-readable mediaconfigured to reside on the user's computer.
 2. The shopping basketsystem of claim 1, wherein the items selected from the plurality ofdifferent merchant servers have a common schema associated withdescriptions of the items.
 3. The shopping basket system of claim 2,wherein the common schema is an XML schema.
 4. The shopping basketsystem of claim 1, wherein the shopping basket component is a desktopapplication.
 5. The system of claim 1, further comprising a filteringcomponent configured to limit the number of the plurality of differentmerchant servers.
 6. An application programming interface to facilitateinteraction of the plurality of different merchant servers with thesystem of claim
 1. 7. Computer-executable instructions for performing amethod of facilitating electronic shopping, the computer-executableinstructions stored on computer-readable media, the computer-executableinstructions comprising: a shopping basket component configured toreside on a user interface on a user's computer, configured tofacilitate identifying items from a plurality of different merchantservers for purchase and configured to facilitate allowing the pluralityof different merchant servers to query an item list stored on the user'scomputer and to place items corresponding to the item list into theshopping basket component; and an ordering component configured tofacilitate concurrent purchasing of two or more identified items fromthe plurality of different merchant servers and to facilitate purchasingitems corresponding to the item list that are placed into the shoppingbasket component by the plurality of different merchant servers.
 8. Thecomputer-executable instructions of claim 7, wherein the items from theplurality of different merchant servers have a description conforming toan XML schema.
 9. The computer-executable instructions of claim 7,wherein the shopping basket component have drag and drop capabilities.10. The computer-executable instructions of claim 9, wherein the userinterface is one of an Internet browser and a desktop application. 11.The computer-executable instructions of claim 7, further comprising afiltering component configured to limit the number of the plurality ofdifferent merchant servers.
 12. The computer-executable instructions ofclaim 7, wherein the method is implemented at least in part by anapplication programming interface.